package org.java.singleton;

/**
 * @author Zhang Guangyong
 * @desacription 单例模式示例
 * @date 2019年07月16日 10:52
 */
class Singleton {

    //用来缓存曾经创建过的实例
    private static Singleton instance;

    //对外隐藏构造方法
    private Singleton() {
    }

    //定义外部访问接口
    public static Singleton getInstance() {
        //判断是否曾经创建实例 若没有则创建
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }


    public static void main(String[] args) {

        Singleton s1 = Singleton.getInstance();

        Singleton s2 = Singleton.getInstance();

        //输出true 说明只能获取同一个实例对象
        System.out.println(s1 == s2);

    }
}


